添加事物的处理方式
事物正常业务正常提交
1.没有添加事物乜有提示信息

*添加商品查询页面后台实现
1查询一级分类 2查询1-2 级商品分类 3查询1-2-3级商品分类
业务说明: 查询3级分类菜单数据 要求三层结构嵌套
---------------------------------------------
*ItemCat创建 MSC框架

Mapper层创建 mapper接口
ItemCatMapper
public interface ItemCatMapper extends BaseMapper<ItemCat> {
}
---------------------------------------------
service层
ItemCatService
ublic interface ItemCatService {
    List<ItemCat> findItemCatList(Integer level);
}

ItemCatServiceImpl
实现类接口中的方法
---------------------------------------------
Controller层
ItemCatController

**进行对数据库查询语句

 /**
     * 需求: 查询3级商品分类列表信息
     * URL:  /itemCat/findItemCatList/{level}
     * 参数:  level 查询的层级
     * 返回值: SysResult对象(List<ItemCat>)
     */

    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){
        List<ItemCat> itemCatList = itemCatService.findItemCatList(level);
        return SysResult.success(itemCatList);
    }


---------------------------------------------
ItemCatServiceImpl
实现类接口中的方法

p*添加商品查询页面后台实现
 1查询一级分类 2查询1-2 级商品分类 3查询1-2-3级商品分类
 业务说明: 查询3级分类菜单数据 要求三层结构嵌套

@Service
public class ItemCatServiceImpl implements ItemCatService {
    @Autowired
    private ItemCatMapper itemCatMapper;

    @Override
    public List<ItemCat> findItemCatList(Integer level) {

        //查询一级商品应用菜单分类信息
        QueryWrapper<ItemCat> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("parent_id", 0);
        List<ItemCat> oneList = itemCatMapper.selectList(queryWrapper);

        //2.查询二级商品分类信息
        //高效for循环
        for (ItemCat oneItemCat : oneList) {
            //添加清空条件
            queryWrapper.clear();
            queryWrapper.eq("parent_id", oneItemCat.getId());
            List<ItemCat> twoList = itemCatMapper.selectList(queryWrapper);

            //3.查询三级商品分类信息 遍历
            for (ItemCat twoItemCat : twoList) {
                //添加清空条件
                queryWrapper.clear();
                queryWrapper.eq("parent_id", twoItemCat.getId());
                List<ItemCat> threeList = itemCatMapper.selectList(queryWrapper);

                //三级菜单封装给二级菜单
                twoItemCat.setChildren(threeList);
            }
            //将二级菜单封装发给一级菜单
            oneItemCat.setChildren(twoList);

        }
        //记录程序运行时间
        long endTime = System.currentTimeMillis();
        long startTime = 0;
        System.out.println("查询耗时:" + (endTime - startTime) + "毫秒");

        //返回一级菜单
        return oneList;
    }
}


